package cn.myjerry.io.file;

import java.io.File;
import java.io.IOException;

/**
 * 常用的方法
 * 1、文件名
 * 	 getName()  文件名、路径名
 *   getPath()	路径名
 *   getAbsolutePath()	绝对路径名
 *   getAbsoluteFile()	绝对路径所对应的File对象
 *   getParent()		父目录，相对路径的父目录，可能为null 如：删除本身后的结果
 * 2、判断信息
 * 	 exists()	是否存在
 * 	 canRead()	是否可读
 * 	 canWrite()	是否可写
 * 	 isDirectory()	是否文件夹
 *   isFile()	是否文件
 *   isAbsolute()	消除平台差异，以盘符开头 其他以/开头
 * 3、长度 字节数 不能读取文件夹的长度
 * 	 length()
 * 4、创建 删除
 *   createNewFile()		不存在创建新文件 存在返回false
 *   delete()	删除文件
 *   static createTempFile(String prefix, String suffix) (前缀3个字节长，后缀默认.temp) 默认临时空间
 *   static createTempFile(String prefix, String suffix, File directory) (前缀3个字节长，后缀默认.temp，目录)
 *   deleteOnExit();		退出即删除
 * @author Jerry
 *
 */
public class Demo03 {
	public static void main(String[] args) {
		//test1();
		try {
			test3();
		} catch (IOException e) {
			e.printStackTrace();
			System.out.println("文件操作失败");
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
	// 创建删除文件
	public static void test3() throws IOException, InterruptedException {
		String path = "/Users/zpon/Desktop/200.jpg";
		File src = new File(path);
		if(!src.exists()) {
			boolean flag = src.createNewFile();
			System.out.println(flag?"成功":"失败");
		}
		boolean flag = src.delete();
		System.out.println(flag?"成功":"失败");
		
		// static createTempFile(String prefix, String suffix) (前缀3个字节长，后缀默认.temp) 默认临时空间
		// static createTempFile(String prefix, String suffix, File directory) (前缀3个字节长，后缀默认.temp，目录)
		File temp = File.createTempFile("tes", ".temp", new File("/Users/zpon/Desktop/"));
		Thread.sleep(10000);
		temp.deleteOnExit();		// 退出即删除
	}
	// 判断信息
	public static void test2() {
		String path = "/Users/zpon/Desktop/赞购/app-release.apk";
		//String path = "/Users/zpon/Desktop/赞购/app-release01.apk";
		//String path = "Users/zpon/Desktop/赞购/app-release.apk";
		File src = new File(path);
		// 是否存在
		System.out.println("文件是否存在：" + src.exists());
		// 是否可读canRead() 是否可写canWrite()
		System.out.println("是否可读：" + src.canRead());
		System.out.println("是否可写：" + src.canWrite());
		// isDirectory()	是否文件夹 isFile()	是否文件
		System.out.println("是否文件夹：" + src.isDirectory());
		System.out.println("是否文件：" + src.isFile());
		// isAbsolute()	消除平台差异，以盘符开头 其他以/开头
		System.out.println("是否为绝对路径：" + src.isAbsolute());
		// length() 长度返回字节数
		System.out.println("长度为：" + src.length()/1024.0/1024.0);
	}
	// 名称
	public static void test1() {
		// 建立联系
		File src = new File("/Users/zpon/Desktop/赞购/app-release.apk");
		src = new File("app-release.apk");
		System.out.println(src.getPath());	// 如果是绝对路径，返回完整路径，否则返回相对路径
		System.out.println(src.getName());	// 返回名称
		System.out.println(src.getAbsolutePath());	// 返回完整路径
		System.out.println(src.getParent());		// 返回上一级目录，如果是相对没有上一级，返回null
	}
}
